Customer demand continues to grow for functionality in a vehicle that resembles experiences customers have outside of the vehicle. Whether providing functionality so that rear-seat passengers can play video games, front-seat passengers can read and reply to e-mails, or drivers can access vehicle information, finding solutions to meet the needs of the digital lifestyle is a growing challenge faced by vehicle manufacturers.
One straightforward proposal for meeting this demand is to allow vehicle occupants to execute computer applications inside the vehicle that they typically use outside the vehicle, e.g. inside their homes. However, one or more problems exist with directly migrating home personal computer (PC) applications into an in-vehicle computer application. Driver distraction studies show that in-vehicle computer applications should not command an unacceptable amount of driver attention. Therefore, a PC application that requires a generally high level of attention may be suitable for non-vehicle use but may be unsuitable for in-vehicle use. Moreover, the integration of a PC application into the vehicle has the potential to cause engineering side effects, which may impact performance of the vehicle.
Often, these issues are addressed by rewriting application code of an existing home PC application while accounting for the specific considerations of use within the vehicle environment. For example, changing a home PC navigation application into an in-vehicle navigation computer application can be guided by the principle that the vehicle occupant cannot enter destinations while the vehicle is in drive. However, rewriting PC application code to account for the in-vehicle operating environment can be cumbersome and time-consuming.
In light of the foregoing, what is needed is a software architecture for developing in-vehicle software applications that addresses one or more of the disadvantages identified above.